1. Field of the Invention
This invention relates to a learning programmable limit switch and, more particularly, a motion system which utilizes a learning programmable limit switch to provide real-time passive feedback for a controller to control the operation of a drive system in accordance with a user-programmed motion profile.
2. Brief Description of the Related Art
In the field of motion control systems, pressure transducers can be applied to control the ON/OFF state of external circuits. Such a system monitors position and sets or resets one or more outputs at predefined positions or "setpoints." The mechanisms controlled by this system usually have a constant delay from actuation to the desired mechanical reaction. An offset can be added to the transducer position in order to activate the output circuit before its actual setpoint has been reached to compensate for this mechanical delay. As the velocity of the mechanical system increases, the time added by such a positional offset decreases. Therefore, a larger proportional offset is needed to offset for the same mechanical delay at higher speeds. In many mechanical systems the delay for mechanism activation is different from the delay for the deactivation of the mechanism. This requires two different positional offsets for delay compensation. When the circuit is OFF an ON offset is used, and when the circuit is ON an OFF offset if needed.
Usually such a system is implemented in software by a microcontroller. The microcontroller reads the transducers at fixed time intervals and calculates velocity. The microcontroller computes the offsets based on the calculated velocity and adds these offsets to the position. The microcontroller compares this offset position to a table of ON/OFF positions. The table entry specifies the desired output state. The microcontroller can control many circuits from one position reading. This position typically corresponded only to a stop position. Typically, the microcontrollers could not operate at high speeds or with many simultaneous controlled circuits.
Motion control system of the past oftentimes had difficulty handling environmental changes. For example, in a pallet shuttle system which shuttles a pallet between a first station and a second station, the shuttle system drives the pallet, for example, from a first station at a high speed until it reaches the second station, whereupon the pallet system slows to a slower speed until finally it is brought to a complete stop at the second station.
During a manufacturing process, it is desirable to minimize the overall cycle time it takes to shuttle the pallet between theses stations. When the motion system was "cold", the time associated with the transition between the high to low speeds and the low speed to stop was very short. However, as the motion system warmed up, the duration of this time period would tend to increase, thereby causing the pallet to "overshoot" the desired stopping point and/or point at which the slow speed was suppose to occur. Consequently, it was required to make manual adjustments to the system so that the pallet would be shuttled as desired.
Similarly, as the system cooled down, the time required to transition between speeds was less which would result in the pallet "undershooting" the points corresponding to when the user desired the pallet to begin to be driven at the slow speed or hit the stop position.
U.S. Pat. No. 5,227,965 issued to Klaes et al. and assigned to Magnetek Controls of Clawson, Mich. illustrates the use of a programmable limit switch which employs high speed special purpose hardware and a general purpose microcontroller to achieve high speed limit switch operation. A state sequencer controls the high speed special purpose hardware in a fixed sequence. The states sequencer latches position data, and recalls position offsets from a memory. A hardware digital adder sums the position and offset with this summed offset position used as an address in output tables for selecting an output status word. The microcontroller operates asynchronously with respect to the state sequencer. The microcontroller initializes and updates the memories. The microcontroller calculates the velocity from repetitive position signals and writes the corresponding window offsets to memory. A selection circuit picks out the status bit of the particular output circuit. The outputs are shifted together and latched to the output drivers.
Unfortunately, this system and other motion systems of the past could only accommodate for a stop position. They did not automatically adjust during real time operation of the motion control system utilizing sensed feedback corresponding to the motion of, for example, an output shaft of the drive system to learn and adjust to provide real time passive feedback to the controller based upon position information.
Another problem with systems of the past is that they were utilized to detect velocity only and typically provide a velocity offset so that only a stop position would be properly achieved.